﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Infinity.Statements.Declare;
using Infinity.Statements.Program;

namespace Infinity.Statements.StatementFactory.Program
{
	public class CustomOperatorStatement : ProgramStatement, ICustomOperatorStatement
	{
		public CustomOperatorStatement()
		{
			OperatorDirection = OperatorDirection.Left;
			OperatorType = OperatorType.Prefix;
			Parameters = new List<IParameterDeclareStatement>();
		}

		public double Precedence { get; set; }

		public OperatorType OperatorType { get; set; }

		public OperatorDirection OperatorDirection { get; set; }

		public IList<IParameterDeclareStatement> Parameters { get; set; }

		public Type ReturnType { get; set; }
	}
}